/*
 * LVGL应用页面实现 - Hello World示例
 */
#include "lvgl_app.h"
#include "Arduino.h"

// 页面组件 - 简单的Hello World示例只需要一个标签
static lv_obj_t *helloLabel = NULL;

/**
 * @brief 初始化LVGL应用界面 - 简化的Hello World版本
 */
void lvgl_app_init(void) {
  // 获取活动屏幕
  lv_obj_t *scr = lv_scr_act();
  
  // 设置背景色为蓝色
  lv_obj_set_style_bg_color(scr, lv_color_hex(0x1976D2), 0);
  
  // 创建Hello World标签
  helloLabel = lv_label_create(scr);
  lv_label_set_text(helloLabel, "Hello World!\nLVGL测试页面");
  lv_obj_set_style_text_color(helloLabel, lv_color_hex(0xFFFFFF), 0);
  
  // 使用可用的字体
  #ifdef lv_font_montserrat_20
    lv_obj_set_style_text_font(helloLabel, &lv_font_montserrat_20, 0);
  #else
    #ifdef lv_font_montserrat_16
      lv_obj_set_style_text_font(helloLabel, &lv_font_montserrat_16, 0);
    #else
      lv_obj_set_style_text_font(helloLabel, &lv_font_montserrat_14, 0);
    #endif
  #endif
  
  // 将标签居中显示
  lv_obj_align(helloLabel, LV_ALIGN_CENTER, 0, 0);
  
  Serial.println("LVGL Hello World界面初始化完成");
}

/**
 * @brief 更新歌曲名称显示 - 简化版本
 * @param songName 歌曲名称
 */
void lvgl_app_update_song_info(const char* songName) {
  if(helloLabel) {
    lv_label_set_text(helloLabel, songName);
  }
}

/**
 * @brief 更新播放状态 - 简化版本
 * @param isPlaying 是否正在播放
 */
void lvgl_app_update_play_status(bool isPlaying) {
  // 简化版本不需要实现具体功能
  Serial.println(isPlaying ? "播放状态更新为: 播放中" : "播放状态更新为: 已暂停");
}